Mobile devices are in common usage, many featuring powerful processors, larger and more colorful displays, and wireless networking and internet browsing capabilities. Despite these advances in mobile technology, service providers for mobile devices typically place limitations on data connections that are more restrictive than connections from workstation computers. For example, wireless providers terminate or drop inactive data connections between mobile devices and servers upon the expiration of a fixed ‘time out’ period. Given the increasing versatility of mobile devices, it is helpful to implement a means by which these mobile devices can maintain active connections with servers during periods of inactivity on the mobile devices.
As wireless data networks mature and evolve, mobile devices are moving from having occasional data coverage to having near-constant data network connectivity. As a function of increasing wireless network data coverage and bandwidth, applications running on mobile client devices increasingly rely upon web server and enterprise server data provided in response to Hypertext Transfer Protocol (HTTP) requests. Current techniques for establishing data connections between mobile devices and servers such as web servers and enterprise servers often result in connections which are dropped by wireless service providers before HTTP requests are fulfilled. For example, if a mobile device submits an HTTP request to a web server that takes five minutes to fulfill and the service provider for the mobile device data connection drops inactive connections after 3 minutes, the mobile device's data connection will be terminated before the HTTP request is fulfilled. Given the bandwidth limitations enforced by wireless providers, it is difficult for web servers to serve HTTP responses in request to HTTP requests from mobile devices. As mobile devices run a variety of operating systems, software suites, and internet browser applications, methods for maintaining data connections need to be platform independent.
Some current network connection limitations enforced by wireless service providers require that a connection between a mobile device and a server remain ‘active’ in order to avoid termination. Current techniques for connection management often fail to distinguish an ‘inactive’ connection from a connection that is awaiting an HTTP response to be fulfilled by a server in response to an HTTP request. For example, a timeout may occur while a mobile device is awaiting large amounts of data in a HTTP response to be sent from a web server. The data to be processed by a web server may include HyperText Markup Language (HTML) documents and linked objects such as scripts, audiovisual files (i.e., sound and image data).
Due to the fact that mobile devices are typically remote from the web servers and enterprise servers they submit HTTP requests to, data may be staged on a third server that mobile devices, the web servers, and the enterprise servers can readily access. Data sent from enterprise servers to roaming mobile devices is often inspected by a firewall server. In order to facilitate data security, firewall servers, like wireless service providers, often drop connections after a predetermined time period of inactivity.
In sum, current mobile data delivery techniques often result in response times that exceed wireless service provider and firewall timeout parameters, which results in connections that are terminated before data requests from a mobile device can be fulfilled.
Accordingly, what is desired is a means of letting mobile client devices and servers know that a connection is still active. What is further is desired are methods, systems, and computer program products for maintaining connections (i.e., keeping connections alive) between mobile devices and firewall servers without requiring user activity.
What is also desired is a means of efficiently and reliably maintaining data connections (i.e., keeping data connections alive) between mobile devices and enterprise servers without requiring user activity on the mobile devices. What is further desired are methods, systems, and computer program products that keep data connections between mobile devices and web servers from being terminated without requiring mobile device activity while HTTP requests are fulfilled.